A switch pipeline includes a set of tables that are used by the switch to determine proper forwarding behavior to apply to packets in a network flow. These tables can be in the form of tertiary content addressable memory, hash tables, and index tables, and are implemented by hardware resources of the switch.